Imports TeamUp.GarantiaTransacional
Imports Conexao
Imports System.Text
Imports System.Collections.Generic
Imports TeamUp.Entidades

Public Class EscopoDao
    Inherits Model

    Public Sub New(ByVal objGarantiaTransacional As GTransacional)
        GarantiaTransacional = objGarantiaTransacional
    End Sub

    Public Function consultarEscopo(ByVal objProjeto As Projeto, ByVal objEscopo As Escopo) As List(Of Escopo)
        Dim strSql As String
        Dim objConBanco As ConexaoBanco = New ConexaoBanco
        Dim objResultado As DataSet
        Dim lstEscopo As List(Of Escopo) = Nothing
        Dim strCriterio As String = "WHERE"
        Dim intContador As Integer
        Try
            strSql = "SELECT IdEscopoEstimativa, IdProjeto, descricao, premissa, unidadeEstimativa, situacao, avaliacaoEstimativa, observacoes " & _
                    " FROM  escopoEstimativa "

            If Not objProjeto Is Nothing AndAlso objProjeto.getId <> "" Then
                strSql += strCriterio + " idProjeto = " + objProjeto.getId + ""
                strCriterio = " AND "
            End If

            If Not objEscopo Is Nothing AndAlso objEscopo.getId <> "" Then
                strSql += strCriterio + " idProjeto = " + objEscopo.getId + ""
                strCriterio = " AND "
            End If

            objResultado = objConBanco.executarConsulta(strSql)

            If objResultado.Tables(0).Rows.Count > 0 Then
                lstEscopo = New List(Of Escopo)
                For intContador = 0 To objResultado.Tables(0).Rows.Count - 1
                    lstEscopo.Add(New Escopo(objResultado.Tables(0).Rows(intContador)("descricao"), _
                                        objResultado.Tables(0).Rows(intContador)("premissa"), Nothing, objResultado.Tables(0).Rows(intContador)("unidadeEstimativa"), objResultado.Tables(0).Rows(intContador)("IdProjeto"), objResultado.Tables(0).Rows(intContador)("IdEscopoEstimativa")))
                Next
            End If

            consultarEscopo = lstEscopo

        Finally
        End Try
    End Function

    Public Sub incluirEscopo(ByVal objEscopo As Escopo)
        Dim strSql As String
        Dim objConBanco As ConexaoBanco = New ConexaoBanco
        Dim objResultado As Object
        Try
            strSql = "INSERT INTO escopoEstimativa(IdProjeto, descricao, premissa, unidadeEstimativa)VALUES(" & _
                    objEscopo.getIdProjeto & ",'" & objEscopo.getDescricao() & "','" & objEscopo.getPremissa & "','" & objEscopo.getUnidadeEstimativa & "')"
            objResultado = objConBanco.executarSPScalar(strSql, GarantiaTransacional.getConexao, GarantiaTransacional.getTransacao)


        Finally
        End Try
    End Sub

    Public Sub excluirEscopo(ByVal objEscopo As Escopo)
        Dim strSql As String
        Dim objConBanco As ConexaoBanco = New ConexaoBanco
        Dim objResultado As Object
        Try
            strSql = "DELETE FROM escopoEstimativa where IdProjeto = " & objEscopo.getIdProjeto & " AND IdEscopoEstimativa = " & objEscopo.getId() & ""

            objResultado = objConBanco.executarSPScalar(strSql, GarantiaTransacional.getConexao, GarantiaTransacional.getTransacao)
        Finally
        End Try
    End Sub

End Class
